JaeHyeonKim19

[자바]백준 1956 운동

2020-02-01


import java.io.*;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		final int IFN = 10000000;
		int answer = -1;
		StringTokenizer st = new StringTokenizer(br.readLine());
		int v = Integer.parseInt(st.nextToken());
		int e = Integer.parseInt(st.nextToken());
		int [][] routes = new int[v][v];
		for(int i = 0;i < v;i++) {
			for(int j = 0;j < v;j++) {
				routes[i][j] = IFN;
			}
		}
		for(int i = 0;i < e;i++) {
			st = new StringTokenizer(br.readLine());
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken());
			int c = Integer.parseInt(st.nextToken());
			routes[a-1][b-1] = c;
		}
		for(int i = 0;i < v;i++) {
			for(int j = 0;j < v;j++) {
				for(int k = 0;k < v;k++) {
					routes[j][k] = Math.min(routes[j][k], routes[j][i] + routes[i][k]);
				}
			}
		}
		for(int i = 0;i < v;i++) {
			if(routes[i][i] != IFN) {
				if(answer != -1) {
					answer = routes[i][i] < answer? routes[i][i] : answer;
				}else {
					answer = routes[i][i];
				}
			}
		}
		System.out.print(answer);
	}
}